package com.mc.sort;

public class BubbleSort {
	
	public static void sort(int[] array){
		for(int i=0;i<array.length-1;i++){
			for(int j=0;j<array.length-1-i;j++){
				if(array[j]>array[j+1]){
					int temp = array[j];
					array[j]=array[j+1];
					array[j+1]=temp;
				}
			}
		}
	}
	public static void sortBack(int[] array){
		for(int i=0;i<array.length-1;i++){
			for(int j=array.length-1;j>i;j--){
				if(array[j]<array[j-1]){
					int temp = array[j];
					array[j]=array[j-1];
					array[j-1]=temp;
				}
			}
		}
	}
	public static void sort2(int[] a){
		int lastSwap = a.length;
		int lastTemp = a.length;
		for(int i=0;i<a.length-1;i++){
			lastSwap = lastTemp;
			for(int j=1;j<lastSwap;j++){
				if(a[j]<a[j-1]){
					int temp = a[j-1];
					a[j-1] = a[j];
					a[j] = temp;
					lastTemp = j;
				}
			}
			if(lastSwap==lastTemp)//没有更新则已经有序
				break;
		}
	}
	public static void main(String[] args){
		int[] a = {3,4,5,6,2,3,4,6};
		BubbleSort.sort2(a);
		for(int i=0;i<a.length;i++){
			System.out.println(a[i]);
		}
	}
}
